在vue中嵌入iframe页面 您所在的位置:网站首页 vue 内嵌外部页面 在vue中嵌入iframe页面

在vue中嵌入iframe页面

2023-11-19 14:20| 来源: 网络整理| 查看: 265

一、嵌入iframe页面业务场景

项目是一个物流运营平台的管理系统,系统中对接了第三方的客服系统。因此这里需要在自己的页面中嵌入三方客服聊天的页面(这里对接了智齿)。ps:别问我为什么不自己写一个聊天的功能,问就是不知道。

二、iframe是什么

ifram标签规定了一个内联框架,让我们有可能在当前的HTML文档中嵌入另外一个文档,目前所有的主流浏览器都支持iframe标签,当然为了以防万一你可以在iframe标签中写入提示文本,以提示用户当前使用的浏览器不支持iframe。

IE:你们都看我干吗,我现在也是支持的

说白了就是我们在一个页面中嵌入另外一个页面,一般这个页面是独立的。

三、iframe的应用场景包括

1.沙箱隔离(两个页面js/css互不影响)

2.引入三方内容(如三方(QQ)登录,本人引入了三方客服)

3.网页编辑器,所见即所得(element在线编辑器)

4.在页面中打开excel、pdf等文件

知乎的编辑器使用了 contentEditable,但是video使用了iframe标签个人不建议在页面中嵌入iframe,除非业务真的需要这样做,两个页面之间的通信是iframe最先要解决的问题。后续需要解决的问题则更多。

四、如何控制和使用iframe

iframe 提供了一些属性供我们控制它:

width:iframe的宽

height:iframe的高

iframe页面的长宽高,页面样式,我们可以根据属性进行控制,同样我们也可以使用 css 为iframe页面添加 class id 来控制iframe

src:我们嵌入页面的URL

name:iframe的name属性

scrolling:(auto,yes,no,默认auto)页面中的iframe是否显示滚动条。

这个属性可以让我们更好的控制 iframe 的滚动条,但是页面高度大于iframe高度时滚动条是一定会出现的,这时我们设置了 no 或者 yes 页面超出部分将不再显示,所以请根据自己的业务情况进行选择。

五、代码示例 您当前的浏览器不支持页面上的功能,请升级您当前的浏览器版本或使用谷歌浏览器访问当前页面 /** iframe样式 */ #iframeContain{ width: 100%; height: 800px; } 六、两个页面之间的通信

页面的通信大前提是页面在同一域名下,不同域名下的通信极其困难,甚至window.close()都无法执行。(详情见浏览器同源策略)页面通信主要有三种 父子、子父、兄弟

1.父子

通过name属性 name = “iframeContain”

父页面

fun parent(){ var chilsData = iframeContain.window.child() // chilsData = [a,b,c] }

子页面

var data = [a,b,c] fun child(){ return data }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有